#ifndef SHIELD_H
#define SHIELD_H

#include "GlobalMacros.h"

NAMESPACE_BEGIN
template<typename T>
class Shield 
{
private:
	T data;
public:
	typedef Shield<T> Self;
	typedef T ResourceType;
	Shield() :data() {};
	~Shield() = default;
	explicit Shield(const T& data) :
		data(data)
	{
	};
	T& get() { return this->data; }
};
NAMESPACE_END

#endif // !SHIELD_H
